puts [stack]

puts "\nCommand: stack push {Hello World!}"
puts [stack push {Hello World!}]

puts "\nCommand: stack top"
puts [stack top]

puts "\nCommand: stack pop"
puts [stack pop]
puts "top of stack: [stack top]"

puts "\nCommand: stack empty"
puts [stack empty]

puts "\nCommand: stack size"
puts [stack size]

puts "\[stack id\] = [stack id]"

puts "\nCommand: stack swap"
puts [stack swap]

puts "\nCommand: stack emplace {rubbish}"
puts [stack emplace {rubbish}]

puts "\nCommand: stack emplace <a list>"
puts [stack emplace [list m n t q u "link"]]

puts "\nCommand: stack emplace strings"
puts [stack emplace "friend" "web" dead]

foreach info [list "Hello" "world" "FreeBSD" "llvm/clang"] {
	stack push $info
}

puts "\n\nstack size now: [stack size]"
puts "empty: [stack empty]"
while {[stack empty] == false} {
	puts [stack top]
	stack pop
}
